package com.sugon.modules.device.service;


import com.sugon.modules.device.model.vo.DelayCheckParam;
import com.sugon.modules.device.model.vo.DevMaintenanceDelayApplyParam;

import java.util.Map;

/**
 * @author ： YuXD
 * @description： 设备维护工单业务Manager
 * @date ： 2020-11-18 17:00
 * @version: 1.0
 */
public interface IDeviceMaintenanceTicketManager {

    /**
     * 维护工单催办
     *
     * @param ticketId 工单ID
     * @param userId   催办人ID
     * @return
     */
    boolean urge(String ticketId, String userId);

    /**
     * 设备维护工单申请变更，变更分为延期申请和变更审批两个类型
     *
     * @param ticketChangeApplyParam
     * @return
     */
    boolean applyChange(DevMaintenanceDelayApplyParam ticketChangeApplyParam);


    /**
     * 审核变更
     *
     * @param delayCheckParam 延期审核参数
     * @return
     */
    boolean checkChange(DelayCheckParam delayCheckParam);

    /**
     * 准备设备维护工单执行状况统计模板需要的数据
     *
     * @param params
     * @return
     */
    Map<String, Object> prepareExportData(Map<String, Object> params);

}
